A. Technical Field
The present invention relates generally to cache management on a web server client machine, and more particularly, to a cache management system that employs software build numbers and efficiently distributes software across various client machines on a network.
B. Background of the Invention
The importance of networking technology in today's society is well understood. Current networks allow large amounts of information to be transmitted at high data rates across very long distances. The reliance on these networks by individuals and companies requires that the networks operate with minimal failures.
The network elements typically have software applications that perform various functions on the elements. Certain software applications may be updated overtime resulting in multiple versions of the application residing on a client machine that is used to manage one or more network elements.
Web-based management software, such as a Graphical Node Manager (“GNM”), is available to manage network elements within a transmission network. This management software is web-based so it can be uploaded from a remote source and operate on a typical client machine. To enable uploading such software, Sun Microsystems provides a “Java Web Start” application as a mechanism to upload and execute applications over the network using a Java Networking Launching Protocol (“JNLP”) standard.
An exemplary illustration of a JNLP application is illustrated in FIG. 1A. JNLP allows a software application to be upgraded on a Web Start server 100 on the network. The upgraded version 101 of the application is then uploadable to any of the Web Start client machines 102-104 via network connections. The Java Web Start application performs caching and uploading of the application based on the universal resource locator (“URL”) including the IP address of the server and can upload the software application 101 to any client machine 102-104.
Each time a new version of the software application is added or user accesses a new network element, the JNLP will cause the upload of the matching software application version from each of the network elements in the network to one or more client machines. This distribution and storage of software may place a significant load on a network and cause inefficient use of storage on the client machines.
By way of example, assume that a large software application version of 7 MB is residing on the web server of a network element. If there are 100 network elements and each network element having a different URL due to differing IP addresses, then a software application version of about 7 MB in size will be uploaded 100 times to the client machine even if some of the client machines currently have the matching version of the software application. Additionally, each version may reside on the client machine for an extended period of time resulting in older versions being stored and a poor use of memory on the client machine.
This process is further complicated if the software application is residing on a sub-tending network element. Referring to FIG. 1B, the client machines 102-104 are to receive the software application from a sub-tending network element 150 through a gateway network element or elements 130, 135. These gateway network elements 130, 135 serve as proxies and effectively forward network traffic, including the software upload, from the sub-tending network element 150 to the client machines 102-104. Because the URLs of the sub-tending network elements 150 vary depending on which gateway network element is acting as the proxy, further duplicative uploads of the software application may be performed on the client machines 102-104.